/*MyPhotoIndex Free Photo Organizer <www.myphotoindex.com>
  Copyright (C) <2006-2009>  <Asaf Yarkoni asaf@yarkoni.net>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;

namespace MyPhotoIndex.Plugins.DataProviders
{
    public enum ImageDataSourceColumnId
    {
        Id = 0, ImportBatch, FullPath, FileCreationDate,
        ImageDescription, CameraMaker, CameraModel, XResolution,
        YResolution, ResolutionUnit, SoftwareUsed, LastModified,
        ExposureTime, Aperture, MaxAperture, ExposureProgram, IsoSpeed,
        DateTaken, DateDigitized, BrightnessLevel, ExposureCompensation,
        MeteringMode, LightSource, FlashStatus,
        FocalLength, Width, Height, ImageTags, Rating, 
        Categories, VersionParentId, VersionDate, SourceLabel
    }

    public interface IImagesDataAccessProvider : IDataAccessProvider
    {
        OleDbDataReader GetPhotoIndexData();

        void UpdateImageData(int imageId, ImageDataSourceColumnId dataColumn, Object data);
        void UpdateImageData(int imageId, ImageDataSourceColumnId[] dataColumns, Object[] data);

        void RemoveImage(int imageId);

        Object GetColumnValue(int imageId, ImageDataSourceColumnId imageDataSourceColumnId);
    }
}
